package org.hzero.order.domain.entity;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonInclude;

import javax.validation.constraints.NotBlank;
import io.choerodon.mybatis.domain.AuditDomain;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 用户同步日志表
 *
 * @author qiangfei.liu@hand-china.com 2021-03-11 12:08:44
 */
@ApiModel("用户同步日志表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "hitf_user_async_log")
public class UserAsyncLog extends AuditDomain {

    public static final String FIELD_ID = "id";
    public static final String FIELD_TENANT_ID = "tenantId";
    public static final String FIELD_INTERFACE_ID = "interfaceId";
    public static final String FIELD_EXTERNAL_SYSTEM_CODE = "externalSystemCode";
    public static final String FIELD_BATCH_ID = "batchId";
    public static final String FIELD_FINISH_STATUS = "finishStatus";
    public static final String FIELD_FINISHED_FLAG = "finishedFlag";
    public static final String FIELD_ERROR_FLAG = "errorFlag";
    public static final String FIELD_ERROR_MESSAGE = "errorMessage";
    public static final String FIELD_ERROR_TYPE = "errorType";
    public static final String FIELD_ERROR_TIMES = "errorTimes";
    public static final String FIELD_UUID = "uuid";
    public static final String FIELD_REAL_NAME = "realName";
    public static final String FIELD_MOBILE = "mobile";
    public static final String FIELD_DEPT_CODE = "deptCode";
    public static final String FIELD_DEPT_TYPE = "deptType";
    public static final String FIELD_COMPANY_CODE = "companyCode";
    public static final String FIELD_VERIFIED = "verified";
    public static final String FIELD_USER_TYPE = "userType";
    public static final String FIELD_STATUS = "status";
    public static final String FIELD_SOURCE = "source";
    public static final String FIELD_COMPANY_NAME = "companyName";
    public static final String FIELD_DEPT_NAME = "deptName";
    public static final String FIELD_ORG_CODE = "orgCode";
    public static final String FIELD_ORG_NAME = "orgName";
    public static final String FIELD_SUPERIORS = "superiors";
    public static final String FIELD_SUPERIORS_NAME = "superiorsName";
    public static final String FIELD_DISABLED = "disabled";
    public static final String FIELD_CREATED_AT = "createdAt";
    public static final String FIELD_UPDATED_AT = "updatedAt";
    public static final String FIELD_SOURCE_CODE = "sourceCode";
    public static final String FIELD_ENABLED_FLAG = "enabledFlag";
    public static final String FIELD_DATA_VERSION = "dataVersion";

    //
    // 业务方法(按public protected private顺序排列)
    // ------------------------------------------------------------------------------

    //
    // 数据库字段
    // ------------------------------------------------------------------------------


    @ApiModelProperty("表ID，主键，供其他表做外键")
    @Id
    @GeneratedValue
    private Long id;
   @ApiModelProperty(value = "租户ID")    
    private Long tenantId;
   @ApiModelProperty(value = "接口id")    
    private Long interfaceId;
   @ApiModelProperty(value = "外部系统代码")    
    private String externalSystemCode;
    @ApiModelProperty(value = "批次",required = true)
    @NotBlank
    private String batchId;
   @ApiModelProperty(value = "完成状态")    
    private String finishStatus;
   @ApiModelProperty(value = "完成标志 0:未完成 1:已完成")    
    private Integer finishedFlag;
   @ApiModelProperty(value = "错误标志")    
    private Integer errorFlag;
   @ApiModelProperty(value = "错误信息")    
    private String errorMessage;
   @ApiModelProperty(value = "错误类型")    
    private String errorType;
   @ApiModelProperty(value = "错误次数")    
    private Long errorTimes;
    @ApiModelProperty(value = "用户名",required = true)
    @NotBlank
    private String uuid;
   @ApiModelProperty(value = "真实姓名")    
    private String realName;
   @ApiModelProperty(value = "手机号")    
    private String mobile;
   @ApiModelProperty(value = "部门代码")    
    private String deptCode;
   @ApiModelProperty(value = "部门类型")    
    private String deptType;
   @ApiModelProperty(value = "公司代码")    
    private String companyCode;
   @ApiModelProperty(value = "验证标志")    
    private Integer verified;
   @ApiModelProperty(value = "用户类型")    
    private String userType;
   @ApiModelProperty(value = "用户状态")    
    private Integer status;
   @ApiModelProperty(value = "数据来源")    
    private String source;
   @ApiModelProperty(value = "公司名称")    
    private String companyName;
   @ApiModelProperty(value = "部门名称")    
    private String deptName;
   @ApiModelProperty(value = "组织代码")    
    private String orgCode;
   @ApiModelProperty(value = "组织名称")    
    private String orgName;
   @ApiModelProperty(value = "")    
    private String superiors;
   @ApiModelProperty(value = "")    
    private String superiorsName;
   @ApiModelProperty(value = "是否启用")    
    private Integer disabled;
   @ApiModelProperty(value = "创建时间")    
    private Date createdAt;
   @ApiModelProperty(value = "更新时间")    
    private Date updatedAt;
   @ApiModelProperty(value = "系统代码")    
    private String sourceCode;
   @ApiModelProperty(value = "启用标志")    
    private Integer enabledFlag;
   @ApiModelProperty(value = "数据版本")    
    private String dataVersion;

	//
    // 非数据库字段
    // ------------------------------------------------------------------------------

    //
    // getter/setter
    // ------------------------------------------------------------------------------

    /**
     * @return 表ID，主键，供其他表做外键
     */
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}
    /**
     * @return 租户ID
     */
	public Long getTenantId() {
		return tenantId;
	}

	public void setTenantId(Long tenantId) {
		this.tenantId = tenantId;
	}
    /**
     * @return 接口id
     */
	public Long getInterfaceId() {
		return interfaceId;
	}

	public void setInterfaceId(Long interfaceId) {
		this.interfaceId = interfaceId;
	}
    /**
     * @return 外部系统代码
     */
	public String getExternalSystemCode() {
		return externalSystemCode;
	}

	public void setExternalSystemCode(String externalSystemCode) {
		this.externalSystemCode = externalSystemCode;
	}
    /**
     * @return 批次
     */
	public String getBatchId() {
		return batchId;
	}

	public void setBatchId(String batchId) {
		this.batchId = batchId;
	}
    /**
     * @return 完成状态
     */
	public String getFinishStatus() {
		return finishStatus;
	}

	public void setFinishStatus(String finishStatus) {
		this.finishStatus = finishStatus;
	}
    /**
     * @return 完成标志 0:未完成 1:已完成
     */
	public Integer getFinishedFlag() {
		return finishedFlag;
	}

	public void setFinishedFlag(Integer finishedFlag) {
		this.finishedFlag = finishedFlag;
	}
    /**
     * @return 错误标志
     */
	public Integer getErrorFlag() {
		return errorFlag;
	}

	public void setErrorFlag(Integer errorFlag) {
		this.errorFlag = errorFlag;
	}
    /**
     * @return 错误信息
     */
	public String getErrorMessage() {
		return errorMessage;
	}

	public void setErrorMessage(String errorMessage) {
		this.errorMessage = errorMessage;
	}
    /**
     * @return 错误类型
     */
	public String getErrorType() {
		return errorType;
	}

	public void setErrorType(String errorType) {
		this.errorType = errorType;
	}
    /**
     * @return 错误次数
     */
	public Long getErrorTimes() {
		return errorTimes;
	}

	public void setErrorTimes(Long errorTimes) {
		this.errorTimes = errorTimes;
	}
    /**
     * @return 用户名
     */
	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}
    /**
     * @return 真实姓名
     */
	public String getRealName() {
		return realName;
	}

	public void setRealName(String realName) {
		this.realName = realName;
	}
    /**
     * @return 手机号
     */
	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
    /**
     * @return 部门代码
     */
	public String getDeptCode() {
		return deptCode;
	}

	public void setDeptCode(String deptCode) {
		this.deptCode = deptCode;
	}
    /**
     * @return 部门类型
     */
	public String getDeptType() {
		return deptType;
	}

	public void setDeptType(String deptType) {
		this.deptType = deptType;
	}
    /**
     * @return 公司代码
     */
	public String getCompanyCode() {
		return companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}
    /**
     * @return 验证标志
     */
	public Integer getVerified() {
		return verified;
	}

	public void setVerified(Integer verified) {
		this.verified = verified;
	}
    /**
     * @return 用户类型
     */
	public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType;
	}
    /**
     * @return 用户状态
     */
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
    /**
     * @return 数据来源
     */
	public String getSource() {
		return source;
	}

	public void setSource(String source) {
		this.source = source;
	}
    /**
     * @return 公司名称
     */
	public String getCompanyName() {
		return companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
    /**
     * @return 部门名称
     */
	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
    /**
     * @return 组织代码
     */
	public String getOrgCode() {
		return orgCode;
	}

	public void setOrgCode(String orgCode) {
		this.orgCode = orgCode;
	}
    /**
     * @return 组织名称
     */
	public String getOrgName() {
		return orgName;
	}

	public void setOrgName(String orgName) {
		this.orgName = orgName;
	}
    /**
     * @return 
     */
	public String getSuperiors() {
		return superiors;
	}

	public void setSuperiors(String superiors) {
		this.superiors = superiors;
	}
    /**
     * @return 
     */
	public String getSuperiorsName() {
		return superiorsName;
	}

	public void setSuperiorsName(String superiorsName) {
		this.superiorsName = superiorsName;
	}
    /**
     * @return 是否启用
     */
	public Integer getDisabled() {
		return disabled;
	}

	public void setDisabled(Integer disabled) {
		this.disabled = disabled;
	}
    /**
     * @return 创建时间
     */
	public Date getCreatedAt() {
		return createdAt;
	}

	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}
    /**
     * @return 更新时间
     */
	public Date getUpdatedAt() {
		return updatedAt;
	}

	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}
    /**
     * @return 系统代码
     */
	public String getSourceCode() {
		return sourceCode;
	}

	public void setSourceCode(String sourceCode) {
		this.sourceCode = sourceCode;
	}
    /**
     * @return 启用标志
     */
	public Integer getEnabledFlag() {
		return enabledFlag;
	}

	public void setEnabledFlag(Integer enabledFlag) {
		this.enabledFlag = enabledFlag;
	}
    /**
     * @return 数据版本
     */
	public String getDataVersion() {
		return dataVersion;
	}

	public void setDataVersion(String dataVersion) {
		this.dataVersion = dataVersion;
	}

}
